<?php

/**
 *自动加载
 */

namespace wtfphp;

class loader {
    /**
     * 注册目录
     * @param $dir
     * @return bool
     */
    static function registerDir($dir) {
        //非法目录
        if (!is_dir($dir)) {
            return false;
        }
        //注册
        spl_autoload_register(function ($class) use ($dir) {
            $filename = $dir . $class . '.php';
            if (!is_file($filename)) {
                return false;
            }
            require $filename;
        });
        return true;
    }

    /**
     * 注册命名空间
     * @param $namespace
     * @param $dir
     * @return bool
     */
    static function registerNamespace($namespace, $dir) {
        //非法目录
        if (!is_dir($dir)) {
            return false;
        }
        //注册
        spl_autoload_register(function ($class) use ($namespace, $dir) {
            $int = strripos($class, '\\');
            $tns = substr($class, 0, $int);
            $tcl = substr($class, $int + 1);
            if ($tns == $namespace) {
                $filename = $dir . $tcl . '.php';
                if (!is_file($filename)) {
                    return false;
                }
                require $filename;
            }
        });
        return true;
    }
}